1. Field of the Invention
The present invention relates to a method, system, and program for uninstalling user selected file sets of a program.
2. Description of the Related Art
An installer program is a software program that enables a programmer to write specific code to install a given application program onto the drives of a computer in a way that enables the given application program to work correctly with the computer""s environment, including its operating system. There are several types of installersxe2x80x94Java installers and operating system specific installers, e.g., Microsoft Windows installers, and International Business Machines (xe2x80x9cIBMxe2x80x9d) OS/2 and AIX operating system installers, etc.* Many of the install programs existing today have various limitations in how they allow users to selectively remove program components.
The installer program typically includes an uninstaller function which directs the computer to uninstall or delete every program and file added to the system as a result of the installation. For instance, MICROSOFT WINDOWS 98** provides a program for uninstalling a Windows component, such as accessory programs communications, desktop themes, system tools etc. Windows 98 further provides a mechanism for uninstalling specific programs, referred to as the xe2x80x9cAdd/Remove Programs Properties.xe2x80x9d Likewise, Symantec Corporations Norton Uninstaller product provides a tool for removing programs or files. Further, in AIX, the user is presented with a list of all file sets on the system from which to select to remove.
Notwithstanding the above uninstaller tools, there is a need in the art to provide uninstaller tools that provide more fine grained control of uninstall operations than that provided with present products.
To overcome the limitations in the prior art described above, preferred embodiments disclose a system, method, and program for uninstalling a program. The program is defined by a plurality of file sets. Each file set defines a set of functions performed by the program. A flag is provided with each file set of the program indicating one of a first and second value. A determination is made as to the file sets having the first flag value. A graphical user interface (GUI) then displays at least one user selectable option to remove at least one determined file set having the first flag value. User input is then received indicating file sets to delete and the file sets the user input indicated to delete are deleted.
Preferred embodiments for uninstalling file sets comprise associating an indicator with a file set that indicates whether the file set is enabled to be uninstalled separately from other file sets of the program.
In further embodiments, displaying in the GUI at least one user selectable option to remove at least one file set comprises displaying one user selectable option to remove all the file sets of the program and displaying user selectable options to remove each determined file set having the first flag value.
In still further embodiments, a determination is made as to whether any of the file sets having one of the first and second values are subject to a dependency relationship. The GUI then displays indication of the dependency relationship after determining that one file set of the program is subject to the dependency relationship.
Preferred embodiments provide a method, system, and program for allowing an installation developer to specify file sets a user may uninstall by setting the value of a flag. Those file sets of the program having the flag set true may then be selectively uninstalled by the user without uninstalling other file sets not selected. This allows the user to remove certain file sets that the installation developer has indicated are acceptable to remove. For instance, the removal of certain file sets may affect the stability of the program. For such critical file sets, the installation developer may set the flag to false to not provide the user the opportunity to uninstall without removing the entire program. Still further embodiments determine a dependency relationship for files and display indication of the dependency relationship to alert the user that uninstallation of particular file sets may adversely affect the operation of other programs. Thus, preferred embodiments provide flexibility to installation developers to provide users greater control over the uninstallation process.